// 导入定义验证规则的包
// const joi = require("@hapi/joi");
const joi = require("joi");
/**
 * string()值必须是字符串
 * alphanum()值只能包含a-zA-ZO-9的字符串
 * min(length) 最小长度
 * max(length) 大长度
 * required() 值是必填项，不能为 undefined
 * pattern(正则表达式) 值必须符合正则表达式的规则
 */

// 分类表单数据验证
// 定义分类名称和分类别名的效验规则
const name = joi.string().required();
const alias = joi.string().alphanum().required();

// 定义分类id得效验规则
const id = joi.number().integer().min(1).required();

// 定义标题，分类Id，内容，发布状态的验证规则
const title = joi.string().required();
const cate_id = joi.number().integer().min(1).required();
const content = joi.string().required().allow("");
const state = joi.string().valid("已发布", "草稿").required();

// 验证规则对象，-发布文章

exports.add_article_schema = {
  body: {
    title,
    cate_id,
    content,
    state,
  },
};

// 效验规则对象-更新分类
exports.update_cate_schema = {
  body: {
    Id: id,
    name,
    alias,
  },
};

// 效验规则对象，根据Id获取分类
exports.get_cate_schema = {
  params: {
    id,
  },
};

// 导出效验规则
exports.delete_cate_schema = {
  params: {
    id,
  },
};

//效验规则对象，添加分类
exports.add_cate_schema = {
  body: {
    name,
    alias,
  },
};
